//
//  SequencerProtocol.h
//  CocoaSynth
//
//  Created by Jérémy Brault on 06/02/10.
//  Copyright 2010 None. All rights reserved.
//

#import <Cocoa/Cocoa.h>

#import "Module.h"

/*!
    @protocol	SequencerProtocol
    @abstract	SequencerProtocol regroupe des operations pour gerer le sequencement d'un ensemble de modules.
*/
@protocol SequencerProtocol

/*!
    @method		start
    @abstract	Lancer le sequenceur.
*/
- (void)start;

/*!
	@method		stop
	@abstract	Arreter le sequencer.
 */
- (void)stop;

/*!
    @method     isStarted
    @abstract   Indique si le sequencer est en marche ou non.
    @result     YES si le sequencer est en marche, NO sinon.
*/
- (BOOL)isStarted;

/*!
    @method     addModule
    @abstract   Ajoute un module au systeme.
    @param      module	Le nouveau module.
*/
- (void)addModule:(Module*)module;

/*!
    @method     removeModule
    @abstract	Supprime un module du systeme.
    @param      module	Le module a supprimer.
*/
- (void)removeModule:(Module*)module;

@end
